package com.tedu.api.thread;

/**
 * JDK1.8 新语法  支持Lambda写法，广泛应用项目中
 * Lambda表达式--->简化：集合【遍历结合、过滤文件方法】、
 *       “接口创建、抽象类创建、匿名内部类”、Comparator比较器
 *                创建【函数式遍历】
 * lambda功能性接口--实现：有一个方法的接口，并且打印数据
 * lambda表达式语法：()->{}
 *
 *
 * 1.创建接口Insert---使用子类方式实现接口
 * 2.创建接口Insert---使用匿名内部类方式 实现接口
 * 3.创建Lambda表达式--接口创建
 */
public class LambdaDemo {
    public static void main(String[] args) {
        /*Insert insert=new Insert(){
            public long Dian(long money,int day) {
                return 1L;
            }
        };
       insert.Dian(10,1);*/
        //Lambda表达式写法  ()->{}
        /**
         * 第一种：Lambda表达式支持：接口使用匿名内部类方式创建
         * ()代表方法的参数：无参数情况---括号不可以删除
         *                 有参数情况---1个参数---括号可以删除
         *                         ---2个参数以上---括号不可以删除
         *                         (形参1，形参2)
         * ->代表new创建对象的过程
         * {}代表方法中实现：返回值 void 直接输出语句---可以去掉{}
         *                 返回值 集合 不可以去掉{}        【一会测】
         *                 返回值 java数据类型 不可以去掉{}
         */
        Insert insert=(money,day)->{return 1L;};
        long dian=insert.Dian(10,10);
        System.out.println("用了多少"+dian+"°");
    }
}
//创建接口  Insert
interface Insert{
    public long Dian(long money,int day);
}
//创建子类  实现 Insert
/*class Computer implements Insert{
    public long Dian(long money) {
        return 100;
    }
}*/
